Marking mechanism for controlling consecutive packet loss in ATM networks

ABSTRACT

An apparatus and method for optimal packet marking to control consecutive packet loss (also called &#34;average packet gap&#34;) in a packet buffer. The apparatus and method can be used in a packet switched system having either a single or multiple packet class, as well as at any entry point of the packet switched system, e.g. source buffers, and switching node buffers. It is shown that variations of the disclosed packet marking method are optimal for either minimizing or maximizing the average packet gap.

RELATED APPLICATIONS

This application is a continuation-in-part of U.S. patent application Ser. No. 08/283,698, filed Aug. 1, 1994, now U.S. Pat. No. 5,629,936, the contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to an apparatus and method for optimal packet marking to control consecutive packet loss (average packet gap) in a congested packet buffer. More generally, this invention relates to a method for marking packets to control consecutive packet loss for customers in service systems with finite buffers such as asynchronous transfer mode (ATM) networks.

2. Background of the Related Art

Feedback-based congestion controls generally react too slowly to regulate congestion in high-speed wide area networks, and hence, preventive controls that restrict cell admission, and enforce negotiated rates are essential. One preventive scheme that seems especially well suited for application in ATM networks is the so-called generalized leaky bucket scheme. The generalized leaky bucket scheme attempts to avoid congestion by imposing constraints on the average cell admission rate and maximum burst size, and of marking packets that violate these constraints for preferential discarding should they later encounter congestion. It is known to reduce both the variance of, and bursts in, admitted traffic and it is believed to reduce the probability of cell loss.

While the probability of cell loss is clearly an important measure of service quality, whether a given loss probability is acceptable depends on secondary measures such as the average number of consecutively lost cells, the so-called average packet gap. Consider, for instance, the relative performance of circuits that lose, respectively, one of every 10⁶ cells, and 100 consecutive cells in every 10⁸. Both circuits exhibit the same loss probability, yet intuitively, the first is better suited to real-time traffic (because even small gaps in voice cell streams produce distortion, while the second is better suited to data traffic (because less overhead is incurred when cells are retransmitted in blocks).

Regardless of whether the original information is real-time data (e.g. voice and video) requiring a minimum average packet gap, or traffic that uses retransmission to correct errors (e.g. certain types of computer data) requiring a maximum average packet gap, to improve session performance, it is desirable to employ a violation packet marking policy that controls the consecutive packet loss (average packet gap). No existing packet dropping policies is designed to control consecutive packet loss (average packet gap).

SUMMARY OF THE INVENTION

Accordingly, an object of the invention is to provide a circuit and method for optimal packet marking to control consecutive packet loss (average packet gap) in a packet buffer.

Another object of the invention is to provide a method and apparatus for marking violation cells to minimize the average number of consecutively lost cells or average packet gap when congestion occurs.

Another object of the invention is to provide a method and apparatus for marking violation cells to maximize the average number of consecutively lost cells or average packet gap when congestion occurs.

Another object of the invention is to mark violation cells to maximize the average packet gap created in data traffic when congestion occurs because less overhead is incurred when cells are retransmitted in blocks.

Another object of the invention is to mark violation cells to minimize the average packet gap created in real-time traffic such as voice or video cell streams when congestion occurs because large average cell gaps produce unacceptable distortion.

One advantage of the invention is that it minimizes or maximizes the average gap size by simply marking constraint violation cells.

Another advantage of the invention is that it minimizes or maximizes the average gap size with no loss of leaky bucket performance.

Another advantage of the invention is that it minimizes or maximizes the average gap size independent of the arrival distribution.

One feature of the invention is that it need not consider which cell to mark at the outset (i.e., it need not be initialized).

Another feature of the invention is that it can be shown to be optimal using the observation that optimizing the marking scheme is equivalent to minimizing or maximizing the Palm expectation of the number of consecutively marked cells.

Another feature of the invention is that its marking policy is independent of the contents of the cell.

Another feature of the invention is that it improves upon the prior art leaky bucket scheme.

These and other objects, advantages and features are accomplished by the provision of a method for controlling the average cell gap of traffic transported in asynchronous transfer mode on network, comprising the steps of: receiving a series of cells of said traffic at a first buffer; marking, prior to transmitting said series of cells, certain ones of said series of cells with a first token-type according to a predetermined scheme depending on whether said series violates specific burst or admission rate constraints; outputting said series of cells including said cells having said first token-type to the network, whereby cells other than said cells with the first token type should not be dropped and said cells having said first token-type may be dropped when those cells encounter congestion.

The above and other objects, advantages and features are further accomplished whereby said receiving step comprises receiving a series of cells of real-time type traffic and said marking step comprises marking certain ones of said series of cells according to a predetermined scheme when said series violates specific burst or admission rate constraints to minimize the average cell gap should the unmarked cells encounter congestion.

The above and other objects, advantages and features are further accomplished when said marking step comprises marking approximately every other cell of said series of cells, when the series violates specific burst or admission rate constraints.

The above and other objects, advantages and features are further accomplished when said receiving step comprises receiving a series of cells carrying voice data.

The above and other objects, advantages and features are also accomplished when said receiving step comprises receiving a series of cells of nonreal-time type traffic and said marking step comprises marking certain ones of said series of cells according to a predetermined scheme when the series violates specific burst or admission rate constraints, so as to maximize the average cell gap created should the marked cells be dropped due to congestion.

The above and other objects, advantages and features are also accomplished when said receiving step comprises receiving a series of cells of data type traffic and said marking step comprises marking certain ones of said series of cells according to a predetermined scheme when the series violates specific burst or admission rate constraints so as to maximize the average cell gap created should the marked cells be dropped due to congestion.

The above and other objects, advantages and features are also accomplished when said receiving step comprises receiving a series of cells of data type traffic and said marking step comprises marking certain ones of said series of cells according to a predetermined scheme which approximately maximizes the average cell gap.

The above and other objects and advantages will become clearer from the following detailed description of the preferred embodiments, taken in conjunction with the following drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a leaky bucket scheme.

FIG. 2 shows a state transition diagram for the minimum virtual gap policy.

FIG. 3 shows a state transition diagram for the maximum virtual gap policy.

FIG. 4 shows Markov chain for the minimum marking policy with Markov.

FIG. 5a shows the average virtual cell gap produced by a standard marking policy and FIG. 5b shows the average virtual cell gap policy with Poisson inputs (cell buffer size=10, green token pool size=10, and red token pool size is infinite).

FIG. 6a shows the average virtual cell gap produced by the maximum virtual cell gap policy, and FIG. 6b shows comparison of the average virtual cell gap when the cell transmission time is 0.1, with Poisson inputs (cell buffer size=10, green token pool size=10, and red token pool size is infinite).

FIG. 7a shows average virtual cell gap produced by the standard marking policy, and FIG. 7b shows the minimum virtual cell gap policy with ON-OFF inputs (cell buffer size=10, green token pool size=10, and red token pool size is infinite).

FIG. 8a shows average virtual cell gap produced by the maximum virtual cell gap, FIG. 8b shows a comparison of the average virtual cell gap when the cell transmission time is 0.1, with ON-OFF inputs (cell buffer size=10, green token pool size=10, and red token pool size is infinite).

FIG. 9 shows a block diagram of a typical packet switched network connected to multiple information sources, a multiplexer, a demultiplexer, and multiple information destinations in which the invention can be implemented.

FIG. 10 shows a block diagram of a typical switching node having input buffers, output buffers, and a switch.

FIG. 11 shows schematically, one way of integrating a circuit according to one embodiment of the invention with a leaky bucket system of FIG. 1.

FIG. 12 shows the decision logic underlying the minimum gap marking rule.

FIG. 13 shows the decision logic underlying the maximum gap marking rule.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

This application concerns modification of the generalized leaky-bucket scheme to control the average cell gap as well as admission rate and burst size. The generalized scheme typically marks bandwidth violation cells for preferential discarding should they later encounter congestion. Once the decision to mark a cell is made, there is no consideration of which cell to mark. In fact, as long as a marking scheme admits the same fraction of marked and unmarked cells, the average gap length can be controlled without changing the average, peak, or burst performance. The problem of optimizing the marking policy is formulated as one of minimizing or maximizing the Palm expectation of the number of consecutively marked cells. It is then shown how, independent of the arrival distribution, and with no loss of leaky bucket performance, the average "virtual" gap size can be maximized or minimized by more cleverly marking overflow cells. The effectiveness of these methods are investigated by simulation. It is also shown that these embodiments of the invention reduce buffering delays in intermediate nodes.

2. The Queuing Model

The generalized leaky bucket scheme is depicted in FIG. 1. Under this scheme, user cells 105 are unconditionally admitted to the network when they can secure a token from their virtual circuit's green token pool 108. This green token pool 108 is replenished at a fixed rate (the contracted average admission rate) by token generator 111 and is of fixed size (the contracted maximum burst length). When no green tokens 114 are available (i.e., when a cell burst exceeds the contracted burst length) violation cells 119 may still be admitted provided that they can secure red tokens 116 from their virtual circuit's red token pool 125 (i.e., provided they are marked for preferential discarding in the event that they encounter congestion). This pool is also replenished at a fixed rate (the average violation cell admission rate) by token generator 111. When no tokens are available, or when the spacing between cells falls below a peak rate threshold, admission is blocked.

The key variables associated with this generalized leaky bucket are defined as follows:

α={α_(n) }_(n)εz --denotes the arrival times of cells to the buffer.

d={d_(n) }_(n)εz --denotes the departure times of cells from the buffer.

σ--denotes the sum of the cell spacing and transmission times.

X_(t) (0)--denotes the number of tokens in the green token pool at time t⁺.

X_(t) (1)--denotes the number of tokens in the red token pool at time t⁺.

W_(t) --denotes the buffered cells' cumulative workload at time t.

Y_(t) --denotes the number of buffered cells at time t.

B--denotes the cell buffer's capacity.

C_(G) --denotes the green token pool's capacity.

C_(R) --denotes the red token pool's capacity, C_(R) =∞.

Z_(n) --denotes the marking (0=green, 1=red) of the cell departing at time d_(n).

For simplicity, we will assume that σ is constant, i.e., that cell spacer 131 is always operative.

Because the cell arrival process can be arbitrary and cell transmission is subject to token blocking, buffer 135 as a G/G/1/B queue, i.e., a single server queue with capacity B, a general service process, and general arrival process a. We assume that the arrival times a={a_(n) }_(n)εz are ordered, defined on a common probability space (Ω;F;P), and indexed such that a₀ ≦0<a₁, that the arrival process has a finite, non-null intensity λ˜_(a) =Σ_(n)εN I_(0<an)≦1, and that the arrival process is P-stationary (l_(A) denotes the indicator function of A).

Suppose that, synchronous with 0, green tokens 114 and red tokens 116 are generated every 1=λ_(g) and 1=λ, seconds respectively, and suppose that the state of the leaky bucket's token pools at time tεR is denoted by X_(t) =(X_(t) (0); X_(t) (1)) εN². Because the total number of available tokens X_(t) (0)+X_(t) (1) does not depend on the marking policy, independent of the overflow marking policy, the queue's right-continuous workload process W_(t) satisfies the relation,

    W.sub.t =max{0,W.sub.a.sbsb.n.spsb.- +σ1w.sub.a.sbsb.n.spsb.- ≦Bσ-(t-α.sub.n)1.sub.X.sbsb.t.spsb.(0)+X.sbsb.t.spsb.(1)>0 } tε αhd n,α.sub.n+1),

where W_(t-) denotes W_(t) 's left-hand limit. It follows that all functions of W_(t), including the times at which cells depart from the buffer 135, d={d_(n) }_(n)εz, ##EQU1## are independent of the marking policy.

Let Z_(n) be an element of {0,1} denote the marking (0=green, 1=red) of the cell 105' departing at time d_(n). Then the sequence {d_(n), Z_(n) } where n is an integer, forms a marked point process. Let g={g_(n) } where n is an integer, denote the departure times at which the cell marking switches from green to red, i.e., ##EQU2## and let h={h_(n) } where n is an integer denote the departure times at which the cell marking switches from red to green, i.e.,

    h.sub.n =inf{d.sub.m >g.sub.n |Z.sub.m 0}:        (4)

Then the cells 105 departing during the interval g_(n) ; h_(n)) can be viewed as belonging to the nth virtual cell gap, i.e., the nth group of cells to be dropped should congestion occur.

Define the cell departure, the gap creation, and red marking rates to be, respectively,

    λ.sub.d =E Σ.sub.nεIN 1.sub.0<d.sbsb..sub.n≦1 !, λ.sub.h =E Σ.sub.nεiN 1.sub.0<h.sbsb.n ≦1!, and λ.sub.z =E Σ.sub.nεIN Z.sub.n 1.sub.0<h.sbsb.n ≦1!.

Define the leaky bucket's state to be

    S.sub.t :=(W.sub.t, X.sub.t)ε 0,(B+1))×{0, . . . , C.sub.G }×IN.                                               (5)

Then the class of admissible marking policies Γ consists of all measurable mappings γ from the leaky bucket's state and the previous departure's marking to the next departure's marking, such that the number of green tokens discarded by γ in any interval (t₀,t! is the same, for a given input cell stream, as would have been discarded under the generalized leaky bucket policy had both policies started from the same state, i.e., for all k

    γ: 0,(B+1)σ)×{0, . . . ,C.sub.G }×1N×{0,1}→{0,1},                      (6)

such that ##EQU3## given that S_(t).sbsb.0 =S_(t).sbsb.0, where S_(t) =(W_(t),X_(t)) denotes the state of the generalized leaky bucket. Hence, marking policies are identified that minimize or maximize the average virtual cell gap subject to the constraint that the new policy utilizes green tokens at the same rate as the conventional generalized leaky bucket. To this end a queuing process Lt is defined that counts the number of red cells that have departed since the departure,of the last gap, i.e., let ##EQU4## Now, fix γεΓ and observe that at each cell departure time a virtual gap of length L_(d).sbsb.n.sup.γ is created. When H.sup.γ ={h_(n).sup.γ }_(n)εz and L.sup.γ ={L_(t).sup.γ }_(t)εIR are P-stationary, and when h.sup.γ has finite non-null intensity γ_(h)γ, the average length of these departing gaps, as seen at virtual gap departure times, is the Palm expectation 3! of L.sup.γ with respect to h.sup.γ, i.e., ##EQU5## It follows that when h.sup.γ and L.sup.γ are P-stationary for all γεΓ, and when λ_(a) <∞(→that λ_(h)γ <∞ for all γεΓ), the virtual gap minimization and maximization problems reduce to minimizing or maximizing the Palm expectation E_(h)γ⁰ L₀.sup.γ ! over Γ subject to the constraint that the new policy utilize green tokens at the same rate as the conventional generalized leaky bucket mechanism.

The Palm expectation of Z.sup.γ, i.e., E_(d) ⁰ Z₀.sup.γ !, denotes the probability that a departing cell is marked red. Thus the rate at which departing cells are marked red is λ_(z).sup.γ =λ_(d) E_(d) ⁰ Z₀.sup.γ !. Using the queueing model, one can establish the following relationship between the virtual gap creation rate and the cell departure rate.

Lemma 1 The rate of virtual gap creations in the departure stream is

    λ.sub.h.sup.γ =λ.sub.d E.sub.d.sup.0  Z.sub.-1.sup.γ (1-Z.sub.0.sup.γ)!.           (9)

Proof: h.sub.(0,1!.sup.γ =Σ_(n)ε.spsb.z 1_(0<21) t<1 Z_(n-1).sup.γ (1-Z_(n).sup.γ). Taking expectations on both sides, we have E h.sub.(0,1!.sup.γ =Σ_(n)εz 1_(0<t)≦1 Z_(n-1).sup.γ)!=λ_(d) E_(d) ⁰ Z₋₁.sup.γ (1-Z₀.sup.γ)!.▪

It follows that E_(d) ⁰ Z₋₁.sup.γ (1-Z₀.sup.γ)! is the probability that a departure from the buffer ends a virtual gap. Accordingly we can define the average virtual gap creation rate and the average virtual gap length in the departure stream as λ_(h).sup.γ =λ_(d) E_(d) ⁰ Z₋₁.sup.γ (1-Z₀.sup.γ)! and E_(h) ⁰.sub.γ L₀.sup.γ !. respectively. Similar results were derived in 7!.

Because h.sup.γ and L.sup.γ are induced by measurable functions of {(W_(t), X_(t).sup.γ), Z_(t).sup.γ }, the problem of minimizing or maximizing the average virtual gap length E_(h) ⁰.sub.γ L₀.sup.γ ! is assured to be well posed when λ_(d) <∞, and {(W_(t),X_(t).sup.γ),Z_(t).sup.γ } converges to a unique P stationary process for every γεΓ. Henceforth we will assume that this is the case.

In stationary systems, the expected "instantaneous rate of event cost accumulation" H. can often be shown to equal the product of the event rate A and the expected "cumulative cost" G associated with a typical event 8, 14!. In the present setting, where the events of interest are virtual gap creations, a similar "H=λG" relation can be shown to hold, namely. λ_(z) =λ_(h) E_(h) ⁰ L₀.sup.γ !, i.e., the instantaneous rate of virtual gap length accumulation (the red cell marking rate λ_(z)) equals the product of the virtual gap creation rate λ_(h).sup.γ, and the expected virtual gap length (the Palm expectation of L₀). Thus, when the system is stationary, the gap creation rate and the average virtual packet gap in the departure stream are inversely proportional.

Theorem 1 For all γεΓ, when {(W_(t),X_(t).sup.γ), Z_(t).sup.γ } is P-stationary, λ_(z) =λ_(h)γ E_(h) ⁰.sub.γ L₀.sup.γ !.

Proof: Under the Palm probability P_(h) ⁰.sub.γ, the stationary marked point process (h.sup.γ,Z.sup.γ) is synchronous, i.e., h₀.sup.γ =0 3!. Because Z_(n).sup.γ =0, for h₋₁.sup.γ ≦d_(n) <g₋₁.sup.γ, and Z_(n).sup.γ =1, for g₋₁.sup.γ≦d_(n) <h₀.sup.γ, we have ##EQU6## Taking Palm expectation on both sides, we have ##EQU7## where the second equality follows from the stationarity. Applying the exchange formula 3! between d and h, we have ##EQU8## However, λ_(d) E_(d) ⁰ Z₀ !=λ_(z). Thus we have λ_(z) =λ_(h).sup.γ E_(h) ⁰.sub.γ L₀.sup.γ !. ▪

By assumption λ_(z) is policy independent, hence for stationary processes it is constant. Thus, the average virtual gap creation rate and the average virtual cell gap length are inversely proportional.

4. Virtual gap minimization

Theorem 1 implies that the average virtual cell gap and the net virtual cell gap creation rate are inversely proportional. It follows that to minimize the average virtual cell gap E_(h) ⁰.sub.γ L₀.sup.γ ! it suffices to maximize the net virtual cell gap creation rate λ_(h).sup.γ. In this section we prove that the marking policy given below minimizes the average virtual cell gap. Later, we develop the analogous gap maximization result and we show that when the proposed marking policies are applied, the average delay incurred by cells is less than that incurred under the generalized leaky bucket mechanism.

The generalized leaky bucket mechanism always assigns green tokens 114 to cells 105 whenever green tokens 114 exist in the green token pool 108. Our marking policy allows for more flexible markings, yet it ensures that green tokens 114 are assigned to departing cells 131 at the same rate as the generalized leaky bucket mechanism. The basic idea underlying our policy is to alternate the assignment of green tokens 114 and red tokens 116 whenever possible, i.e., to assign green tokens 114 to departing cells wherever surplus green tokens 114 exists in green token pool 108 and to alternate the assignment of green tokens 114 and red tokens 116 whenever an impending shortage of green tokens 114 is detected. Because the token generation times are deterministic these shortages can be predicted with certainty, hence substituting red tokens 116 for green tokens 114 does not reduce the net green token utilization, because the issuance of these red tokens 116, at some time, is unavoidable.

The advantage of alternating the assignment of red tokens 116 and green tokens 114 when impending green token shortages are detected is that this policy increases the gap creation rate and hence, by Theorem 1, decreases the average virtual gap size. Let f1* denote our marking policy and let Pt denote the number of green tokens to be generated during the interval (t; t+Wt! plus the number of tokens in the green token pool. Then our marking policy takes the form ##EQU9## The policy's transition diagram is shown in FIG. 2. The states indicate the token colors assigned to the departing cell. Initially the policy can be at any state.

Let G.sup.γ_(t).sbsb.0.sub.,t) and R.sup.γ.sub.(t.spsp.0.sub.,t! be queueing processes that count, respectively, the number of green tokens drawn from the green token pool and the number of red tokens drawn from the red token pool during the interval (t₀, t! under γεΓ. Observe first that, over any interval, the sum of the green and red tokens consumed, i.e., the total number of departed cells, is policy independent, because the total number of departed is policy independent. Thus for all departure times and for all γεΓ

    G.sup.γ*.sub.(t.sbsb.0.sub.,d.sbsb.k! R.sup.γ*.sub.(t.sbsb.0.sub.,d.sbsb.k! =G.sup.γ.sub.(t.sbsb.0.sub.,d.sbsb.k! +R.sup.γ.sub.(t.sbsb.0.sub.,d.sbsb.k!.              (14)

The following lemmas establish two properties satisfied by the leaky bucket under policy γ* when consecutive cell departures are marked green or red.

Lemma 2 When under λ*, and any γεΓ, the leaky bucket is in the same state at time t₀,

(a) If cells departing at d_(k-1) and d_(k) take green tokens, then

    G.sup.γ*.sub.(t.sbsb.0.sub.,d.sbsb.k-1! ≦G.sup.γ.sub.(t.sbsb.0.sub.,d.spsb.d-1! and G.sup.γ*.sub.(t.sbsb.0.sub.,d.sbsb.k! ≦G.sup.γ.sub.(t.sbsb.0.sub.,d.sub.k!.

(b) If cells departing at d_(k-1) and d_(k) take red tokens, then

    G.sup.γ*.sub.t.sbsb.0.sub.,d.sbsb.k-1! ≧G.sup.γ.sub.(t.sbsb.0.sub.,d.sbsb.k-1! and G.sup.γ*.sub.(t.sbsb.0.sub.,d.sbsb.k! ≧G.sup.γ.sub.(t.sbsb.0.sub.,d.sbsb.k!.

Proof: For all departure times G.sup.γ*.sub.(t.spsp.0.sub.,d.sbsb.k! +R.sup.γ*_(t).sbsb.0.sub.,d.sbsb.k! =G.sup.γ.sub.(t.sbsb.0.sub.,d.sbsb.k! +R.sup.γ.sub.(t.sbsb.0.sub.,d.sbsb.k!. Observe first that, at time d_(k), the sum of green tokens consumed, and the number of green tokens to be generated during the interval (d_(k), d_(k) +W_(d).sbsb.k ! plus the number of green tokens in the green token pool, is the same under both γ* and γ, because by assumption, starting from the same state, the number of green tokens discarded during the interval (d_(k),d_(k) +W_(d).sbsb.k !, must be the same for all γεΓ. Thus we have

    G.sup.γ*.sub.t.sbsb.0.sub.,d.sbsb.k! +P.sup.γ*.sub.D.sbsb.k =G.sup.γ.sub.(t.sbsb.0.sub.,d.sbsb.k! +P.sup.γ.sub.d.sbsb.k.(15)

(a) Under γ*, departing cells take green tokens consecutively only if either: (i) there are no red tokens in the token pool, or (ii) a surplus of green tokens is expected. Since red tokens are never discarded (because the red token buffer is infinite), when there are no red tokens in the token buffer under γ*, no other policies consume more red tokens than γ* does. Therefore R.sup.γ* .sub.(t.sbsb.0.sub.,d.sbsb.k-1! ≧R.sup.γ.sub.(t.sbsb.0.sub.,d.sbsb.k-1! and R.sup.γ*.sub.(t.sbsb.0.sub.,d.sbsb.k!≧R.sup.γ.sub.(t.sbsb.0.sub.,d.sbsb.k!. Hence the inequality follows from (14). Since, starting from the same state, all policies in Γ discard the same number of green tokens, when a surplus of green tokens is expected at time d_(k-1) ⁻, no other policy can have larger P_(d).sbsb.k-1 than γ* does because postponing the use of green tokens would result in additional green token discards. Therefore, P_(d).sbsb.k-1.sup.γ* ≧P_(d).sbsb.k-1.sup.γ and P_(d).sbsb.k.sup.γ* ≧P_(d).sup.γ. Hence the inequality follows from (15).

(b) When, under γ*, departing cells take red tokens consecutively, there are no green tokens in the token pool. Because, starting from the same state, all policies in Γ discard the same number of green tokens, this implies that no other policy consumes more green tokens than γ*. Hence, the inequality follows.

Lemma 3 For all γεΓ, and for all realizations of the arrival process {a_(n) }, given that γ and γ* are at the same state at times t₀ =Q and t=h_(n-1).sup.γ ≧h_(n-1).sup.γ*, the following inequalities hold:

    G.sub.(t.sbsb.0.sub.,h.sbsb.n.spsb.γ.sub.!.sup.γ ≧G.sub.(t.sbsb.0.sub.,h.sub.n.spsb.γ*!.sup.γ*  and R.sub.(t.sbsb.0.sub.,h.sbsb.n.spsb.γ.sub.!.sup.γ ≧R(.sub.t.sbsb.0.sub.,d.sbsb.n.spsb.γ*!.sup.γ*(16)

Proof: Since γ and γ* are in the same state at time h_(n-1).sup.γ, i.e., γ and γ* have same number of green tokens and red tokens, they should consume same number of green and red tokens. Hence,

    G.sub.(t.sbsb.0.sub.,h.sbsb.n-1.sup.γ !=G.sub.(t.sbsb.0.sub.,h.sbsb.n-1.spsb.γ.sub.!.sup.γ* and R.sub.(t.sbsb.0.sub.,h.sbsb.n-1.sup..spsb.γ.sub.!.sup.γ =R.sub.(t.sbsb.0.sub.,h.sub..sbsb.n.spsb.γ*!.sup.γ*(16)

There are three cases to consider.

(i) When h_(n).sup.γ* ≦h_(n-1).sup.γ, from (17)

    G.sub.(t.sub.di 0.sub.,h.sbsb.n.spsb.γ.sub.!.sup.γ >G.sub.(t.sbsb.0.sub.,h.sbsb.n-1.spsb.γ.sub.!.sup.γ =G.sub.(t.sbsb.0.sub.,h.sbsb.n-1.spsb.γ.sub.!.sup.γ* ≧G.sub.T.sbsb.0.sub.,h.sbsb.n.spsb.γ*!.sup.γ*,(18)

and

    R.sub.(t.sbsb.0.sub.,h.sbsb.n.spsb.γ.sub.!.sup.γ >R.sub.(t.sbsb.0.sub.,h.sbsb.n-1.spsb.γ.sub.!.sup.γ =R.sub.(t.sbsb.0.sub.,h.sbsb.n-1.spsb.γ.sub.!.sup.γ* ≧R.sub.(t.sbsb.0.sub.,h.sbsb.n.spsb.γ*!.sup.γ*.

(i) When d_(n).sup.γ*≦h_(n-1).sup.γ<h_(n).sup.γ*, G_(g).sbsb.n.spsb.γ*_(h).sbsb.n.spsb.y*!.sup.γ* =G.sub.(h.sbsb.n-1.spsb.γ,_(h).sbsb.n.spsb.γ*!.sup.γ* =1≦G.sub.(h.sbsb.n-1.spsb.γ.sub.,h.sbsb.n.spsb.γ_(!).sup.γ. Hence,

    G.sub.(t.sbsb.0.sub.,h.sbsb.n.spsb.γ.sub.!.sup.γ =G.sub.(t.sbsb.0.sub.,h.sbsb.n-1.spsb.γ.sub.!.sup.γ +G.sub.(h.sbsb.n-1.spsb.γ,.sub.h.sbsb.n.spsb.γ.sub.!.sup..gamma. 24 G.sub.(t.sbsb.0.sub.,h.sbsb.n-1.spsb.γ.sub.!.sup.γ* +G.sub.(h.sbsb.n-1.spsb.γ.sub.,h.sbsb.n.spsb.γ*!.sup.γ* =G.sub.(t.sbsb.0.sub.,h.sbsb.n.spsb.γ*!.sup.γ*.(19)

Because γ* assigns a green token as soon as green tokens are available after g_(n).sup.γ*, and because γ and γ* are in the same state at time h_(n-1).sup.γ, R.sub.(h.sbsb.n-1.spsb.γ.sub.,h.sbsb.n.spsb.γ*!.sup.γ* ≦R.sub.(h.sbsb.n-1.spsb.γ.sub.,h.sbsb.n.spsb.γ_(!).sup.γ. Hence

    R.sub.t.sub.0.sub.,h.sbsb.n.spsb.γ.sub.!.sup.γ =R.sub.(t.sbsb.0.sub.,h.sbsb.n-1.spsb.γ.sub.!.sup.γ +R.sub.(h.sbsb.n-1.spsb.γ.sub.,h.sbsb.n.spsb.γ.sub.!.sup..gamma. 24 R.sub.(t.sub.0.sub.,h.sbsb.n-1.spsb.γ.sub.!.sup.γ* +R.sub.(h.sbsb.n-1.spsb.γ.sub.,d.sbsb.n.spsb.γ*!.sup.γ* =R.sub.(t.sbsb.0.sub.,h.sbsb.n.spsb.γ*!.sup.γ*.(20)

(iii) When g_(n).sup.γ* >h_(n-1).sup.γ, this and the condition h_(n-1).sup.γ ≧h_(n-1).sup.γ* imply that both γ and γ* assign green tokens at time h_(n-1).sup.γ. Because γ and γ* are in the same state at time h_(n-1).sup.γ, and because γ* assigns red tokens whenever green token shortages are expected, g_(n).sup.γ* ≦g_(n).sup.γ and G.sub.(h.sbsb.n-1.spsb.γ.sub.,g.sbsb.n.spsb.γ*!.sup.γ* ≦G.sub.(h.sbsb.n-1.spsb.γ.sub.,g.sbsb.n.spsb.γ_(!).sup.γ. Using the relation G.sub.(h.sbsb.n-1.spsb.γ.sub.,h.sbsb.n.spsb.γ*!.sup.γ* =G.sub.(h.sbsb.n-1.spsb.γ.sub.,g.sbsb.n.spsb.γ*!.sup.γ* +1 and G_(h).sbsb.n-1.spsb.γ.sub.,h.sbsb.n.spsb.γ_(!).sup.γ =G.sub.(h.sbsb.n-1.spsb.γ.sub.,g.sbsb.n.spsb.γ_(!).sup..gamma. +1, we have

    G.sub.(t.sbsb.0.sub.,h.sbsb.n.spsb.γ.sub.!.sup.γ =G.sub.(t.sbsb.0.sub.,h.sbsb.n-1.spsb.γ.sub.!.sup.γ +G.sub.(h.sbsb.n-1

If g_(n).sup.γ* =g_(n).sup.γ, γ and γ* are in the same state at time g_(n).sup.γ. Because γ* assigns a green token as soon as green tokens are available after time g_(n).sup.γ*, and γ and γ* are in the same state at g_(n).sup.γ*, R.sub.(g.sbsb.n.spsb.γ.sub.,k.sbsb.n.spsb.γ*_(!).sup.γ* ≦R.sub.(g.sbsb.n.spsb.γ.sub.,h.sbsb.n.spsb.γ_(!).sup.γ. If g_(n).sup.γ* <g_(n).sup.γ, because γ and γ* are at the same state at time h_(n-1).sup.γ and both γ and γ* assign green tokens at time h_(n-1).sup.γ, at time g_(n).sup.γ, γ should consume more green tokens than γ*. This implies that at the next departure time after g_(n).sup.γ*, γ* can assign a green token. Therefore, R_(g).sbsb.n.spsb.γ.sub.,h.sbsb.n.spsb.γ*_(!).sup.γ* =1≦R.sub.(g.sbsb.n.spsb.γ.sub.,h.sbsb.n.spsb.γ_(!).sup.γ. Hence,

    R.sub.(t.sbsb.0.sub.,h.sbsb.n.spsb.γ.sub.!.sup.γ =R.sub.(t.sbsb.0.sub.,g.sbsb.n-1.spsb.γ.sub.!.sup.γ +R.sub.(g.sbsb.n-1.spsb.γ.sub.,h.sbsb.n.spsb.γ.sub.!.sup..gamma. ≧R.sub.(t.sbsb.0.sub.,g.sbsb.n-1.spsb.γ.sub.!.sup.γ* +R.sub.(g.sbsb.n-1.spsb.γ.sub.,h.sbsb.n.spsb.γ*.sub.!.sup..gamma.* =R.sub.(t.sbsb.0.sub.,h.sbsb.n.spsb.γ*.sub.!.sup.γ*.(22)

The following theorem establishes that γ* is the unique marking policy in Γ minimizing the gap occurrence rate for all arrival processes. It follows, by Theorem 1, that γ* minimizes the average virtual gap.

Theorem 2 For all γεΓ, and for all realizations of the arrival process {a_(n) }, given that γ and γ* are at the same state at t₀ =0 ##EQU10## with strict inequality for some arrival process.

Proof: Because the times at which cells depart are policy independent, to establish (23) it suffices to prove that starting from the same initial state S₀ and the same last marking Z₀,

    h.sub.m.sup.γ ≧h.sub.m.sup.γ* for all mε1N,(24)

with strict inequality for some arrival process.

Let δ.sub.(t.sbsb.0.sub.,t! denote the amount of time that a server is idle during the interval (t₀, t!, when there are either no cells to serve or no tokens to draw. To prove that (24) holds it suffices to show that for all mε1N, ##EQU11## To see this note that, because G.sub.(t.sbsb.0.sub.,t! +R.sub.(t.sbsb.0.sub.,t! (the total number of departures in (t₀, t!) is policy independent, (26) implies that h_(m).sup.γ* ≦h_(m).sup.γ. Hence (25)-(26) imply that the first three terms on the right hand side of (25) are non-negative, and the result follows.

We prove (25)-(26) by induction on m. Because the time required to send a cell is σ and, without loss of generality, we can assume that g₁.sup.γ >0, for m=1, we can write h₁.sup.γ as

    h.sub.1.sup.γ =(G.sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ.sub.!.sup.γ +R.sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ.sub.!.sup.γ)σ+.delta..sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ.sub.!,        (27)

and h₁.sup.γ* as

    h.sub.1.sup.γ* =(G.sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ*.sub.!.sup.γ* +R.sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ*.sub.!.sup.γ*)σ+.delta..sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ8.sub.!.     (28)

Subtracting (28) from (27), we get

    h.sub.1.sup.γ =(G.sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ.sub.!.sup.γ -G.sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ*.sub.!.sup.γ*)σ+(R.sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ.sub.!.sup.γ -r.sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ*.sub.!.sup.γ*)σ+.delta..sub.(h.sbsb.1.spsb.γ*.sub.,h.sbsb.1.spsb.γ! +h.sub.1.sup.γ*.                                    (29)

Because γ and γ* are in the same state at time 0, by Lemma 3

    (G.sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ.sub.!.sup.γ -G.sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ*.sub.!.sup.γ*)≧0, and (R.sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ.sub.!.sup.γ -R.sub.(t.sbsb.0.sub.,h.sbsb.1.spsb.γ*.sub.!.sup.γ*)≧0.(30)

To complete the proof it suffices to show that ##EQU12## imply that ##EQU13##

Observe first that, because

    h.sub.m.sup.γ =(G.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ.sub.!.sup.γ +R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ.sub.!.sup.γ)σ+.delta..sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ.sub.!         (35)

and

    h.sub.m.sup.γ* =(G.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*.sub.!.sup.γ* +R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*.sub.!.sup.γ*)σ+.delta..sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*.sub.!,     (36)

(33) follows by subtraction.

Depending on the number of green tokens and red tokens consumed during (h_(m-1).sup.γ*, h_(m).sup.γ* !, there are four cases to consider.

Case 1: G.sub.(h.sbsb.m-1.spsb.γ*.sub.,h.sbsb.m.spsb.γ*_(!).sup..gamma.* =1 and R.sub.(h.sbsb.m-1.spsb.γ*.sub.,h.sbsb.m.spsb.γ*_(!).sup..gamma.* =1.

In this case G.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*_(!).sup.γ* =G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ*_(!).sup.γ* +1 and R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*_(!).sup.γ* =R.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ*_(!).sup.γ* +1. Since G.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ_(!).sup.γ≧G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ_(!).sup.γ +1 and R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ_(!).sup.γ ≧R.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ_(!).sup.γ +1, we have

    G.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ.sub.!.sup.γ ≧G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ +1≧G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ*.sub.!.sup.γ* +1=G.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*.sub.!.sup.γ*,

and

    R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ.sub.!.sup.γ ≧R.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ +1=R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*.sub.!.sup.γ*.

Thus (34) holds.

Case 2: G.sub.(h.sbsb.m-1.spsb.γ*.sub.,h.sbsb.m.spsb.γ*_(!).sup..gamma.* =1 and R.sub.(h.sbsb.m-1.spsb.γ*.sub.,h.sbsb.m.spsb.γ*_(!).sup..gamma.* >1.

Since, just as (26) implies that h_(m).sup.γ* ≦h_(m).sup.γ, (34) implies that h_(m).sup.γ* ≦h_(m).sup.γ. There are three subcases to consider.

(2-i). Suppose h_(m-1).sup.γ =h_(m-1).sup.γ*. (32) implies that G.sub.(t.sbsb.0.sub.,.sbsb.m-1.spsb.γ_(!).sup.γ =G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ*_(!).sup.γ* and by (14), that R.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ_(!).sup.γ =R.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ*_(!).sup.γ* Hence, γ and γ* are in the same state at time h_(m-1).sup.γ. Thus, by Lemma 3, (34) holds.

(2-ii). Suppose h_(m-1).sup.γ* <g_(m).sup.γ* ≦h_(m-1).sup.γ <h_(m).sup.γ* =d_(k). Because the cells departing under γ* at times g_(m).sup.γ*,d_(k) ! take red tokens, by Lemma 2-(b),

    G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ ≦g.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ*.(37)

From (32) we have

    G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ ≦G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ*.sub.!.sup.γ*.(38)

But, since γ* takes only red tokens during the interval (h_(m-1).sup.γ*,h_(m-1).sup.γ !,

    G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ* =G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ*.sub.!.sup.γ*.(39)

(37)-(39) imply that G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ_(!).sup.γ =G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ_(!).sup.γ*, and by (14), that R.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ_(!).sup.γ =R.sub.(t.sbsb.0.sub.,h.sbsb.m-1.sup.γ*_(!).sup.γ*.Hence, once again, γ and γ* are in the same state at time h_(m-1).sup.γ, and thus, by Lemma 3, (34) holds.

(2-iii). Suppose h_(m).sup.γ* =d_(k) ≦h_(m-1).sup.γ. Because γ* takes red tokens at times d_(k-2) and d_(k-1), by Lemma 2-(b) and (14),

    R.sub.(t.sbsb.0.sub.,d.sbsb.k-1.sub.!.sup.γ* ≦R.sub.(t.sbsb.0.sub.,d.sbsb.k-1.sub.!.sup.γ.(40)

But, because d_(k) is, by hypothesis, assigned a green token under γ*, and d_(k-1) <h_(m-1).sup.γ, R.sub.(t.sbsb.0.sub.,d.sbsb.k-1_(!).sup.γ* =R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*_(!).sup.γ* and R.sub.(t.sbsb.0.sub.,d.sbsb.k-1_(!).sup.γ ≦R.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ_(!).sup.γ <R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ_(!).sup.γ. Hence,

    R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ.sub.!.sup.γ >R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*.sub.!.sup.γ*.(41)

Since, by hypothesis, G.sub.(h.sbsb.m-1.spsb.γ*.sub.,h.sbsb.m.spsb.γ*_(!).sup..gamma.* =1,

    G.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ.sub.!.sup.γ ≧G.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*.sub.!.sup.γ*.(42)

Thus, (34) holds.

Case 3: G.sub.(h.sbsb.m-1.spsb.γ*.sub.,h.sbsb.m.spsb.γ*_(!).sup..gamma.* >1 and R.sub.(h.sbsb.m-1.spsb.γ*.sub.,h.sbsb.m.spsb.γ*_(!).sup..gamma.* =1.

There are two subcases to consider.

(3-i). Suppose h_(m-1).sup.γ* ≦h_(m-1).sup.γ>g_(m).sup.γ* =d_(p). Because the cells departing under γ* at times between h_(m-1).sup.γ* and d_(p-1) take green tokens, by Lemma 2-(a)

    G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ ≧G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ*.(43)

Moreover, we can express the time h_(m-1).sup.γ as ##EQU14## However, by (31)

    h.sub.m-1.sup.γ ≧(G.sub.t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ -G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ*.sub.!.sup.γ*)σ+δ.sub.(h.sbsb.m-1.spsb.γ*.sub.,h.sbsb.m-1.spsb.γ.sub.! +h.sub.m-1.sup.γ*.                                  (45)

(43)-(45) imply G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ_(!).sup.γ =G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ_(!).sup.γ* and by (14), that R.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ_(!).sup.γ =R.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ*_(!).sup.γ*. Hence, once again, γ and γ* are in the same state at time h_(m-1).sup.γ, and thus, by Lemma 3, (34) holds.

(3-ii). Suppose g_(m).sup.γ* =d_(p) ≦h_(m-1).sup.γ. At time d_(p-1), G.sub.(t.sbsb.0.sub.,d.sbsb.p-1_(!).sup.γ ≧G.sub.(t.sbsb.0.sub.,d.sbsb.p-1_(!).sup.γ*. This implies

    G.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ.sub.!.sup.γ ≧G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ +1≧g.sub.(t.sbsb.0.sub.,d.sbsb.p-1.sub.!.sup.γ +1≧G.sub.(t.sbsb.0.sub.,d.sbsb.p-1.sub.!.sup.γ* +1=G.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*.sub.!.sup.γ*.

and by hypothesis, R_(H).sbsb.m-1.spsb.γ*.sub.,h.sbsb.m.spsb.γ*_(!).sup..gamma.* =1, hence,

    R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ.sub.!.sup.γ ≧R.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ +1≧R.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ*.sub.!.sup.γ* +1=R.sub.(h.sbsb.m-1.spsb.γ*.sub.,h.sbsb.m.spsb.γ*.sub.!.sup..gamma.*.

Thus, (34) holds.

Case 4: G.sub.(h.sbsb.m-1.spsb.γ*.sub.,h.sbsb.m.spsb.γ*_(!).sup..gamma.* >1 and R.sub.(h.sbsb.m-1.spsb.γ*.sub.,h.sbsb.m.spsb.γ*_(!).sup..gamma.* >1.

There are three subcases to consider.

(4-i). Suppose h_(m-1).sup.γ* ≦h_(m-1).sup.γ <g_(m).sup.γ* =d_(p) <h_(m).sup.γ*. This case is exactly the same as the case (3-i). It follows that γ and γ* are in the same state at time h_(m-1).sup.γ. Thus, by Lemma 3, (34) holds.

(4-ii). Suppose g_(m).sup.γ* =d_(p) ≦h_(m-1).sup.γ <h_(m).sup.γ* =d_(k). Because the cells departing under γ* at times between h_(m-1).sup.γ* and d_(p-1) take green tokens, by Lemma 2-(a), at time d_(p-1)

    G.sub.(t.sbsb.0.sub.,d.sbsb.p-1.sub.!.sup.γ ≧G.sub.(t.sbsb.0.sub.,d.sbsb.p-1.sub.!.sup.γ*,(46)

and because the cells departing under γ* at times between d_(p) and d_(k-1) take red tokens, 2-(b). at time h_(m-1).sup.γ,

    G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ ≦G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ*.(47)

But, since γ* takes only red tokens during interval d_(p), h_(m-1).sup.γ !,

    G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ* =G.sub.(t.sbsb.0.sub.,d.sbsb.p-1.sub.!.sup.γ*       (48)

and

    G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ.sub.!.sup.γ >G.sub.(t.sbsb.0.sub.,d.sbsb.p-1.sub.!.sup.γ.       (49)

Since (49) contradicts (46)-(48), this case does not occur.

(4-iii). Suppose h_(m-1).sup.γ ≧h_(m).sup.γ* =d_(k). At time d_(k-1), applying the same argument used in the case (2-iii), we have

    R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ.sub.!.sup.γ >R.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*.sub.!.sup.γ*.(50)

At time d_(p-1), applying the same argument used in the case (3-11), we have

    G.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ.sub.!.sup.γ ≧G.sub.(t.sbsb.0.sub.,h.sbsb.m.spsb.γ*.sub.!.sup.γ*.(51)

Thus, (34) holds.

The desired inequality follows by induction.

To see that the inequality is strict for some arrival process, suppose that h_(k-1).sup.γ ≧h_(k).sup.γ* for some k, then there is no opportunity to set h_(m).sup.γ equal to h_(k).sup.γ* in the future.▪

5. Gap Maximization

The arguments used to minimize the average virtual cell gap are equally applicable to average virtual cell gap maximization. The basic idea is to avoid changing token color whenever possible, i.e., once a green token is assigned, our policy assigns green tokens to all departing cells until the green token pool empties, once a red token is assigned, red tokens are assigned to all departing cells until either the red token pool empties or surplus of green tokens exist. Because the token generation times are deterministic this surplus can be predicted with certainty. Hence substituting red tokens for green tokens does not reduce the net green token utilization because the issuance of these red tokens, at some time, is unavoidable.

The advantage of avoiding token color changes is that this policy decreases the gap creation rate and hence, by Theorem 1, increases the average virtual gap size. Formally, our gap maximization marking policy takes the form ##EQU15## The state transition diagram for this policy is shown in FIG. 3.

As before, let G.sub.(t.sbsb.0.sub.,t!.sup.γ and R.sub.(t.sbsb.0.sub.,t!.sup.γ be queueing processes that count, respectively, the number of green tokens drawn from the green token pool, and the number of red tokens drawn from the red token pool during the interval (t₀, t) under γεΓ and recall (cf. (14)) that for all cell departure times

    G.sub.(t.sbsb.0.sub.,d.sbsb.k.sub.!.sup.γ' +R.sub.(t.sbsb.0.sub.,d.sbsb.k.sub.!.sup.γ' =G.sub.(t.sbsb.0.sub.,d.sbsb.k.sub.!.sup.γ +R.sub.(t.sbsb.0.sub.,d.sbsb.k.sub.!.sup.γ.         (53)

At γ's gap departure and gap creation times, h_(n).sup.γ' and g_(n).sup.γ', the following properties hold.

Lemma 4 When cells are marked in accordance with Γ', for all γεΓ,

(a) at times cells change color from green to red, i.e., at the times g_(n).sup.γ', nεZ

    G.sub.(t.sbsb.0.sub.g.sbsb.n.spsb.γ'.sub.!.sup.γ' ≧G.sub.(t.sbsb.0.sub.,g.sbsb.n.spsb.γ'.sub.!.sup.γ.

(b) at times cells change color from red to green, i.e., at the times h_(n).sup.γ', n εZ

    G.sub.(t.sbsb.0.sub.,h.sbsb.n.spsb.γ'.sub.!.sup.γ' ≦G.sub.(t.sbsb.0.sub.,h.sbsb.n.spsb.γ'.sub.!.sup.γ.

Proof:

(a) Under γ', departing cells change color from green to red, only if there are no green tokens in the token pool. The proof that leads to the inequality is the same as the proof of Lemma 2-(b).

(b) Under γ', departing cells change color from red to green only if either: (i) there are no red tokens in the token pool, or (ii) a surplus of green tokens is expected. The proof that leads to the inequality is the same as the proof of Lemma 2-(a).▪

The following theorem establishes that γ' is the unique marking policy in Γ minimizing the gap creation rate for all arrival processes. It follows, by Theorem 1, that γ' maximizes the average virtual gap length.

Theorem 3 For all γεΓ, and for all realizations of the arrival process {a_(n) }, given that γ' and γ are at the same state at time t₀ ##EQU16## with strict inequality for some arrival process.

Proof: Because the times at which cells depart are policy independent, it suffices to prove that given that γ and γ' start from the same initial state S₀ and same last marking Z₀,

    h.sub.m.sup.γ' ≧h.sub.m.sup.γ for all mε1N(54)

with strict inequality for some arrival process. We prove this by induction on m.

For m=1, there are two cases to consider.

(i) Suppose to ε g₁.sup.γ',h₁.sup.γ'). Under γ', departing cells take red tokens until the red token pool is empty or a surplus of green tokens is expected. Because γ and γ' are in the same state at t₀, and all γεΓ discard the same number of green tokens as the generalized leaky bucket to avoid unnecessarily discarding green tokens, γ must switch from red to green no later than γ', hence h₁.sup.γ' ≧h₁.sup.γ.

(ii) Suppose t₀ <g₁.sup.γ'. Under γ' departing cells take green tokens until the green token pool is empty. Because γ and γ' are in the same state at t₀, γ can switch from green to red no later than γ'. Hence g₁.sup.γ' ≧g₁.sup.γ. By Lemma 4-(a) and (53), at time g₁.sup.γ', G.sub.(t.sbsb.0.sub.,g.sbsb.1.spsb.γ'_(!).sup.γ' ≧G.sub.(t.sbsb.0.sub.,g.sbsb.1.spsb.γ'_(!).sup.γ and R.sub.(t.sbsb.0.sub.,g.sbsb.1.spsb.γ'_(!).sup.γ' ≦R.sub.(t.sbsb.0.sub.,g.sbsb.1.spsb.γ'_(!).sup.γ, i.e., γ' has no more green tokens and no fewer red tokens than γ. This, and the fact that g₁.sup.γ'≧g₁.sup.γ, ensure that γ' will not run out of red tokens, nor accumulate a surplus of green tokens, before γ. Hence, h₁.sup.γ' ≧h₁.sup.γ.

For m>1 it suffices to show that

    h.sub.m-1.sup.γ' ≧h.sub.m-1.sup.γ       (55)

implies

    h.sub.m.sup.γ' ≧h.sub.m.sup.γ.          (56)

Observe first that at time h_(m-1).sup.γ', by Lemma 4-(b) G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ'_(!).sup.γ' ≦G.sub.(t.sbsb.0.sub.,h.sbsb.m-1.spsb.γ'_(!).sup.γ, i.e., γ' has no fewer green tokens than γ. Because γ' uses green tokens until the green token pool is empty, this and (55) lead to

    g.sub.m.sup.γ' ≧g.sub.m.sup.γ.          (57)

By Lemma 4-(a) and (53), at time g_(m).sup.γ', G.sub.(t.sbsb.0.sub.,g.sbsb.m.spsb.γ'_(!).sup.γ' ≧G.sub.(t.sbsb.0.sub.,g.sbsb.m.spsb.γ'_(!).sup.γ and R.sub.(t.sbsb.0.sub.,g.sbsb.m.spsb.γ'_(!).sup.γ' ≧R.sub.(t.sbsb.0.sub.,g.sbsb.m.spsb.γ'_(!).sup.γ i.e., γ' has no more green tokens, and no fewer red tokens, than γ. Because γ' uses red tokens until the token pool is empty or surplus of green tokens is expected, this and (57) ensure that γ' will not run out of red tokens, nor accumulate a surplus of green tokens, before γ. Hence, h_(m).sup.γ' ≧h_(m).sup.γ.

The desired inequality follows by induction.

To see that the inequality is strict for some arrival process, suppose that at times d_(k), d_(k+1), d_(k+2), and d_(k+3), γ' uses green tokens and at times d_(k) and d_(k+1), and red tokens at times d_(k+2) and d_(k+3), while γ alternatively uses green and red tokens. Then at time d_(k+3), γ'and γ are in the same state, however, γ created one more gap than γ', and there will be no opportunity to set h_(m).sup.γ equal to h_(m).sup.γ' in the future. ▪

In addition to minimizing or maximizing the average cell gap, the proposed marking policies also reduce the average buffering delay at the intermediate nodes when congestion occurs. When, in the departure stream, we compare our policies' cell markings to those of the generalized leaky bucket scheme. We find that our policies' red cells always precede those of the generalized scheme. Thus when the cell stream encounters a congested node and some of the marked cells must be dropped, the cells dropped under our scheme always have earlier time stamps than those dropped under the generalized scheme.

Recently, Yin, et. al. 15! showed that when cells are dropped at front of the buffers (front dropping) instead of the rear, the average buffering delay. and the overall loss performance for time constrained traffic, are improved. Because the cells marked using our policy are always dropped earlier than those of under the current generalized leaky bucket scheme, the cell buffering delays incurred in the intermediate nodes under our policies are always shorter than those incurred under the generalized leaky bucket scheme. Formally, we have following theorem. The proof is similar to that of Theorem 3 in 10!.

Theorem 4 The buffering delays incurred in intermediate nodes under the virtual gap minimization and maximization policies are always shorter than those incurred under the generalized leaky bucket policy.

By changing the token assignment, we can also maximize buffering delays incurred in intermediate nodes. Instead of assigning green tokens first as the standard marking policy does, assigning red tokens first until a surplus of green tokens occurs, incurs the shortest delays. This cell marking method is analogous to the front dropping policy that is known to incur the shortest delays in the cell dropping policies.

Note that in our analysis, we did not assume any specific input distribution. If we know or can measure, the statistics of the inputs, this information can be used to further improve control the marking policy. For example, if we know that the probability of marking of consecutive cells is very low, then the gap minimization policy can be modified to alternatively mark every third cell red, instead of every other cell as we proposed. This would improve the quality of the recovered signal without increasing the average cell gap much, because when burst arrivals occur the spacing between the virtual gaps would be larger.

6. Average Virtual Cell Gap

In this section we derive a closed form expression for the average virtual cell gap, independent of arrival processes and cell marking, seen at departure times, i.e., E_(h) ⁰ L₀.sup.γ !. Under Markov assumptions, we also derive more specific average virtual gap formulas for both the standard marking, and our virtual gap optimization policies.

Lemma 5 The average number of virtual cell gaps is given by ##EQU17##

Proof: From the relation derived in Theorem 1 (i.e., λ_(z) =λ_(h).spsb.γ E_(h).spsb.γ⁰ L₀.sup.γ !), the definition of λ_(h)γ and λ_(Z) (i.e., λ_(h)γ =λ_(d) E_(d) ⁰ Z₀.sup.γ (1-Z₋₁.sup.γ)! and λ_(z) =λ_(d) E_(d) ⁰ Z₀.sup.γ !), we have ##EQU18##

Using this lemma, we can derive policy-specific average virtual gap formulas, under the assumptions that cell arrivals, and green token arrivals, are Poisson processes with rates λ and λ_(G), respectively. We also assume that there are infinite number of red tokens, and that the cell transmission time is very small compared to cell arrival or green token generation periods.

1. Standard Marking: When the standard marking policy is applied, from the underlying Markov chain, we find that in steady state the probability that a departing cell takes a green token given that the previous departure took a red token is λ_(G) /(λ+λ_(G)). Thus, P_(d) ⁰ Z₀.sup.γ =0!Z₋₁.sup.γ =1)! is given by ##EQU19## Hence, the average cell gap is ##EQU20## where ρ=λ/λ_(G) is the fraction of the cells that take green tokens.

2. Minimum Gap Marking: When our gap minimization policy is applied, the number of green tokens in the token pool satisfies the birth-death Markov chain in FIG. 4 with birth rate λ_(G) and death rate λ or smaller. Thus, in steady state, the probability that a departing cell takes a green token given that the previous cell took a red token is: ##EQU21## where π_(A) denotes the steady state probability that Markov chain is in state A at cell departure times for death rate λ. Therefore, the average virtual cell gap can be upper bounded as follows: ##EQU22##

3. Maximum Gap Making: In steady state, the probability that a departing cell takes a green token given that the previous departure took a red token, is less than λ_(G) /(λ+λ_(G)) because, under the maximum virtual gap policy, once a red token is assigned, departing cells take red tokens until a surplus of green tokens is detected. Thus. P_(d) ⁰ Z₀.sup.γ =0!Z₋₁.sup.γ =1)! is upper bounded by ##EQU23## Hence, the virtual cell gap can be lower bounded as follows: ##EQU24##

To better appreciate the difference between the three marking policies, it is helpful to compute the average cell gap using realistic numbers., Computing the average virtual cell gap for the standard marking, virtual cell gap minimization, and virtual cell gap maximization policies for C_(G) =10 and ρ=0.9 under Markov assumptions, we find that the average gap size is 1.900 for the standard marking policy, and 1.046 for virtual cell gap minimization, and greater than 1.900 for virtual cell gap maximization. When ρ=2, the average virtual gap size is 3.000 for the standard policy, less than 2.000 for virtual cell gap minimization, and greater than 3.000 for virtual cell gap maximization. Although the average virtual gap sizes under non-Markov assumptions will be somewhat different, this example still illustrates the relative effectiveness of the proposed policies. Note that the virtual cell gap size can not be made less than one.

7. Experimental Evaluations

In this section, we present the results of simulation experiments designed to illustrate several properties of the optimal cell marking policies. In particular, we examine how the policies affect the average virtual cell gap, and we compare our simulations with those obtained using the analytical approximations derived in Section 6.

Our simulations consider two types of traffic. ON-OFF traffic is used to model traffic that is typical of voice calls, while Poisson traffic is used to model data transmissions. More specifically, each voice call is modeled as an on-off source with constant arrivals, an exponentially distributed active period Σ_(on), during which cells are generated at constant rate c₁ /D (c₁ =64 Kbits/s, D=48 Bytes/Cell) and an exponentially distributed silent period Σ_(off), during which no cells are generated. Σ_(on) and Σ_(off) are assumed to be statistically independent, with means of, respectively, 352 ms and 650 ms. The average rate of these voice calls is ##EQU25## Since each cell can accommodate 48 bytes of data, it contains 6 ms of voice information. Thus, in the voice model, we generate one cell every 6 ms during the ON periods. Hence, on average, roughly 59 cells are generated during each ON period. The data traffic is modeled as a Poisson process with average cell rate

    E λ.sub.data !=c cells/s .

In the simulations, we fix the input and the red token generation rates to 1.0 and vary the green token rate and cell transmission time for cell buffer and green token pool sizes of 10. Note that the cell transmission time includes a fixed spacer interval. We use the SIMAN simulation language 12! to perform the simulations. To improve on simulation accuracy, we repeated each simulation 10 times, using 15,000 cells each time.

FIGS. 5 and 6-(a) plot, respectively, the average virtual cell gap for Poisson inputs versus the green token generation rate and the cell transmission time for an arrival rate of 1.0, under, respectively, the standard, minimum, and maximum virtual cell gap marking policies. As predicted, the average virtual gap sizes of the standard marking policies are much larger than that of the minimum cell gap marking policy and much smaller than that of the maximum cell gap marking policy. The average gap size of the standard marking policy is slightly smaller than 1+ρ(ρ=λ/λ_(G) =1/λ_(G)), the analytical result obtained under the Markov assumption, because green token generation is more regular in the deterministic green token generation case. The average gap size under the minimum virtual cell gap marking policy is also somewhat less than the predicted size (1-ρ^(C).sbsp.G+2)/(1-ρ^(C).sbsp.G+1). As expected, in the case of the maximum virtual cell gap marking policy, the average cell gap size is highly dependent on the green token rate.

Observe that as the cell transmission time increases, the average virtual cell gap decreases. This is because, under the standard marking policy, in which cells draw green tokens whenever they are available, as the cell transmission time becomes larger, the cell buffering time increases. As a result, more green tokens can be made available to departing cells. Under the minimum or maximum virtual gap policies, as the cell transmission time increases, the expected green token shortage decreases. Hence, the average virtual cell gap decreases. These results illustrate that the analytical results mirror the simulation fairly well, and that the optimal policies become more effective as the spacer interval decreases.

FIG. 6-(b) plots the average virtual cell gap of the three cell marking policies for Poisson inputs versus the green token generation rate when the ratio of the cell transmission time to the cell generation period is 0.1. From the figure it is clear that in Poisson input case, the minimum and the maximum virtual gap policies are superior to the standard marking policy for all utilization levels (input and green token rate).

FIGS. 7 and 8-(a) plot, respectively, the average virtual cell gap for ON-OFF inputs versus the green token generation rate and the cell transmission time for an arrival rate of 1.0, under, respectively, the standard, minimum, and maximum virtual cell gap marking policies. The simulations exhibit the same general trends as the ones with Poisson inputs.

FIG. 8-(b) plots the average virtual cell gap of the three cell marking policies versus green token generation rate when the cell transmission time is 0.1. For ON-OFF inputs, the gap performance of the minimum and the maximum cell gap policies remains superior to that of the standard marking policy. Because ON-OFF inputs are more bursty than Poisson inputs, for the same input, green token generation rates, and cell transmission time, the average virtual cell gap of each policy is larger than that for Poisson inputs. However, because our cell marking policies are optimal sample-path-by-sample-path, as shown in FIG. 8 (b), the average virtual gap size of the minimum virtual gap policy is always smaller, and that of the maximum virtual gap policy is always larger, than that of standard marking policy.

FIG. 9 shows a block diagram of a typical packet switched network 903 connected to multiple information sources 10, a multiplexer 12, a demultiplexer 20, and multiple information destinations 22. Information sources can be any digital system that can transmit and/or receive digital information such as a computer terminal, file server, picture phone, etc. Since many information sources are bidirectional, they can be treated as both an information source 10, and an information destination 22. The packet switched system includes switched nodes 16 for routing packets.

The leaky bucket admission mechanisms are located at points where source traffic enters the network 14. To avoid overloading the network 103, source rate and burst length constraints are negotiated when a source's virtual circuit is set up. The admission mechanisms 14 mark source packets that violate these negotiated constraints for preferential discarding should the packets later encounter congestion. In ATM networks, violation marking is accomplished by setting the Cell Loss Priority (CLP) bit to one. Should any of these marked cells encounter congestion in any network buffer, they are the first to be dropped.

FIG. 10 shows a block diagram of a typical switching node 16 having input buffers 30, output buffers 32, and a switch 34. The input buffers 30 store incoming packets that are waiting for routing. The switch 34 routes packets. The output buffers 32 store packets that have been routed, but are waiting to be sent. There is a limit to the number of packets that a typical switching node can handle at one time. If too many packets arrive at the same time, congestion can occur and the associated input buffer 30 or output buffer 32 may become full. In this case, packets whose mark (CLP bit) indicates that they violated negotiated admission rates or burst length constraints are dropped first.

Regardless of whether the original information is real-time data (e.g., voice and video) for which a minimum average packet gap is preferred, or traffic that uses retransmission to correct errors (e.g., certain types of computer data) for which a maximum average packet gap is preferred, to improve session performance, it is desirable to employ a packet marking policy that controls the average packet gaps created when marked packets are dropped. No existing packet marking policy is designed to control the average packet gap created when marked packets are dropped by standard CLP-based dropping mechanisms. However, as proved above, variations of these marking policies are capable of optimally controlling the average packet gaps created when marked packets are dropped by standard CLP-based dropping mechanisms.

As discussed above, FIG. 1 depicts a typical leaky bucket admission mechanism (which could be located at any network entry point as previously discussed). Referring once again to FIG. 1, the admission mechanism consists of a packet buffer 135, a cell spaced 131, green 108, and red 125 token pools, and a token generator 111. The system of FIG. 1 can be modified to implement the above discussed method according to one embodiment of the invention. (FIG. 11 shows a circuit implementing the functions discussed below.)

The desired admission mechanism consists of a packet buffer 135 and token pools 108-and 125, controls the marking assigned to cells departing from the cell spacer 105 so as to either minimize, or maximize the average number of consecutive cells that are dropped should the cells marked for preferential dropping encounter congestion.

The buffer 135 stores incoming packets, releases outgoing packets, produces necessary buffer state signals to indicate the current buffer state, and receives release signals from the cell spacer indicating when admission and packet marking are permitted. When the buffer overflows, arriving packets are dropped. The buffer storage element 135 is well known in the art and may be built from a conventional memory with an embedded system of pointers. Such memory devices are currently used in all packet switched systems and are available from a large number of sources as discussed in "ATM Silicon: Ready for Takeoff," Electronic Design, Apr. 4, 1994, pp. 51-65, the contents of which are incorporated herein by reference.

The cell spacer 105 delays admitted packets to ensure a minimal spacing, marks the packets (e.g., sets the CLP bit) when negotiated cell rates or burst constraint violations are detected, and signals the buffer when admission and packet marking are permitted. The token pools 108 and 125 are used to determine when violations occur and the token generators 111 are used to periodically supply tokens to the token pools. When the token pools overflow, the arriving tokens are discarded. The spacer delay, the token pool capacities, and the token supply rates are typically negotiated when a connection is set up and may be changed during the connection as necessary. The memory devices used to implement the spacer are conventional memory devices well known in the art.

FIG. 11 shows a system 1100 according to one embodiment of the invention that integrates the above methods for controlling packet marking (decision marking) with the standard leaky bucket admission system and can be located at the network input point 14 (and/or partially or completely at node 16). In that figure, the system 1100 receives state signals from a packet buffer 1105, the green token pool unit 1109, and the red token pool unit 1111, with timer 1 1111a and timer 2 111b and generates signals at outputs 1115 and 1117 for controlling packet marking, cell delay, and token pool decrementation. Since most of the circuit's state transitions involve either incrementing or decrementing a state counter, decision logic 1121 implementing the marking policy can easily be realized in a state machine by, e.g., using Programmable Array Logic (PAL), a Gate Array, a Standard Cell or a Field Programmable Gate Array (FPGA), or using software in a microprocessor. It could also be incorporated into software controlling the leaky bucket admission system's buffer and spacer. Delay & cell marker 1107 corresponds to 105' of FIG. 1 and marks signals in accordance with cell marking control signals from output 1131 and transmission delay control signals output from 1133. Decision logic unit 1121 also outputs decrement control signals to green token pool 1109 and red token pool 1146 at outputs 1144 and 1146, respectively.

The state transition logic invoked by system 1100 depends on the particular traffic to be admitted. When real-time traffic is present (e.g., interactive voice or video), the minimum average gap marking rule logic depicted in FIG. 12 is used. When traffic that uses retransmission to correct errors is present (e.g., certain file and computer data transfers), the maximum average gap marking rule logic depicted in FIG. 13 is used.

Under the minimum gap marking rule (FIG. 12), when a packet departs from the cell spacer 1107, the next packet in the buffer 1105 is admitted to the cell spacer 1107 and marked green (e.g., the CLP bit set to 0) when a surplus of green tokens is expected and marked the opposite color of the previous packet's token unless no tokes of that color are available in which case a token of the same color is assigned.

Under the maximum gap marking rule (FIG. 13), when a packet departs from the cell spacer 1107, the next packet in the buffer 1105 is admitted to the cell spacer 1107 and marked green (e.g., the CLP bit is set to 0) when a surplus of green tokens is expected and marked the same color as the previous packet's token unless no tokens of that color are available in which case a token of the opposite color is assigned. In both instances, a surplus of green tokens is expected when, as previously discussed in the section "Virtural gap minimization" of this specification, the following condition holds. ##EQU26## In words, a surplus of green tokens is expected when the number of buffered packets, multiplied by the cell spacer interval, and then by the green token generation rate and then that value is then added to the number of tokens in the green token pool to yield a total which is greater than or equal to the number of buffered packets. Once the marking decision has been made, the decision logic delays release of the marked packet (using the transmission delay control signal) until the current minimum cell spacing interval (negotiated at call setup and modified as necessary) has elapsed.

Referring to FIG. 12 in more detail, upon occurrence of a packet departure, a buffer state signal on line 1134 indicates to decision logic unit 1121 whether or not buffer 1105 is empty (step 1202). If packet buffer 1105 is empty, decision logic unit 1121 waits for a packet to arrive to buffer 1105 at step 1212. If packet buffer is not empty, decision logic unit 1121 determines whether a token is available (step 1215) from green token pool 1109 by receiving green token state signals from output 1115. If no green tokens are available, unit 1121 waits (step 1222) for a green token to become available from token pool 1109 and then proceeds to step 1224. If a green token is available at step 1215, unit 1121 determines whether a surplus of green tokens are expected at step 1224. As previously explained, there is a surplus of green tokens when the above discussed condition holds. If unit 1121 determines that a surplus of green tokens is expected, it causes delay and cell marker 1107 to mark the cell it is holding i.e., it assigns a green token to the cell and green token counter 1109 is decremented at step 1233. If a surplus of green tokens is not expected, i.e., the above condition does not hold, unit 1121 determines whether the previous token assignment was a green token at step 1236. If unit 1121 determines that the previous assignment was not a green token at step 1236, it determines whether a green token is available at step 1241, and if so, step 1233 is performed. If unit 1121 determines that the previous token assignment was a green token at step 1236, it determines whether any red tokens are available (step 1248) in red token pool 1111. If red tokens are available in red token pool 1111, the cell in delay and cell marker 1107 is assigned a red token at step 1255. If no red tokens are available, step 1233 is repeated.

FIG. 13 shows steps performed by system 1100 to maximize average cell gap. Steps 1302, 1312, 1315, 1322, and 1324 correspond to steps 1202, 1212, 1215, 1222, and 1224, respectively in FIG. 12, and consequently will not be repeated here. Unit 1121 determines whether a surplus of green tokens are expected at step 1324. As previously explained, there is a surplus of green tokens when the above discussed condition holds. If unit 1121 determines that a surplus of green tokens is expected, it causes delay and cell marker 1107 to mark the cell it is holding i.e., it assigns a green token to the cell and green token counter 1109 is decremented at step 1333. If a surplus of green tokens is not expected, i.e., the above condition does not hold, unit 1121 determines whether the previous token assignment was a green token at step 1336. If unit 1121 determines that the previous assignment was a green token at step 1336, it determines whether a green token is available at step 1341, and if so, step 1333 is performed. If unit 1121 determines that the previous token assignment was not a green token at step 1236, it determines whether any red tokens are available (step 1348) in red token pool 1111. If red tokens are available in red token pool 1111, the cell in delay and cell marker 1107 is assigned a red token at step 1355. If no red tokens are available, step 1333 is repeated.

Obviously numerous and additional modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that, within the scope of the appended claims, the invention may be practiced otherwise than as specifically disclosed and claimed herein. 

What is claimed is:
 1. A method for controlling the average cell gap of traffic transported in asynchronous transfer mode on a network, comprising the steps of:receiving a series of cells of said traffic at a first buffer; marking, prior to transmitting said series of cells, certain ones of said series of cells with a first token type according to a predetermined scheme depending on whether the cells violate negotiated admission rate and burst length constraints; and outputting said series of cells including said cells having said first token type to the network, whereby cells other than said cells with the first token type should not be dropped and said cells having said first token type may be dropped when said series of cells encounter congestion.
 2. The method as claimed in claim 1, wherein said receiving step comprises receiving a series of cells of real-time type traffic and said marking step comprises marking certain ones of said series of cells according to a predetermined scheme so as to minimize the average cell gap should said cells be dropped due to congestion.
 3. The method as claimed in claim 2, wherein said marking step comprises marking approximately every other cell of said series of cells, whenever an impending admission rate or burst length violation is detected.
 4. The method as claimed in claim 2, wherein said receiving step comprises receiving a series of cells carrying voice data.
 5. The method as claimed in claim 4, wherein said marking step comprises marking approximately every other cell of said series of cells, whenever an impending admission rate or burst length violation is detected.
 6. The method as claimed in claim 1, wherein said receiving step comprises receiving a series of cells of nonreal-time type traffic and said marking step comprises marking certain ones of said series of cells according to a predetermined scheme when said series violates specific burst or admission rate constraints so as to maximize the average cell gap created should said series of cells encounter congestion and said cells having said first token type be dropped due to congestion.
 7. The method as claimed in claim 1, wherein said receiving step comprises receiving a series of cells of data type traffic and said marking step comprises marking certain ones of said series of cells according to a predetermined scheme when said series violates specific burst or admission rate constraints so as to maximize the average cell gap created should said series of cells encounter congestion and said cells having said first token type be dropped due to congestion.
 8. The method as claimed in claim 1, wherein said marking step comprises certain ones of said series of cells according to a predetermined scheme when said series violates specific burst or admission rate constraints so as to maximize the average cell gap should said certain ones of said series of cells are dropped when said series of cells encounter congestion.
 9. The method as claimed in claim 1, wherein said receiving step comprises receiving a series of cells of data type traffic.
 10. The method as claimed in claim 1, wherein said marking step comprises marking certain ones of said series of cells with a first token type from a token generator, wherein said token generator has a finite number of said first token type and is periodically replenished with said first token types.
 11. The method as claimed in claim 1, wherein said marking step comprises marking as many cells as possible after a first of said certain cells are marked until no further of said cells can be marked or no impending admission rate or burst length violation is detected.
 12. A method for controlling the average cell gap of traffic transported in asynchronous transfer mode on a network, comprising the steps of:receiving a series of cells of said traffic at a first buffer; marking, prior to transmitting said series of cells, certain ones of said series of cells with a first token type according to a predetermined scheme which depends on the type of traffic to be transmitted on the network; and outputting said series of cells including said cells having said first token type to the network, whereby cells other than said cells with the first token type should not be dropped and said cells having said first token type may be dropped when said series of cells encounter congestion.
 13. The method as claimed in claim 12, wherein said marking step comprises marking, prior to transmitting said series of cells certain ones of said series of cells with a first token type according to a predetermined scheme depending on whether the cells violate negotiated admission rate or burst length constraints.
 14. A system for controlling the average cell gap of traffic transported in asynchronous transfer mode on a network, comprising:a packet buffer for receiving and storing a series of cells; a delay and cell marker coupled to said packet buffer for receiving said series of cells and for delaying and marking certain ones of said series of cells in accordance with cell marking control signals and transmission delay control signals; a decision logic unit coupled to said packet buffer and said delay and cell marker for receiving buffer state signals from said packet buffer and outputting first and second token control signals; first and second token pool unit coupled to said decision logic unit, wherein said decision logic outputs cell marking control signals and transmission delay control signals which cause said delay and cell marker unit to mark certain ones of said cells with said first and second tokens in a manner such that if certain cells marked with said first tokens encounter congestion, said certain cells can be dropped and results in either maximizing or minimizing average packet gap of said series of cells. 